To improve the quality of software applications, monitoring information services have been provided by operating system vendors. These services collect monitoring information relating to the operating system or to applications and application programming interfaces (APIs) executing within the operating system. This information may be aggregated at a central point so that patterns may be identified and used to improve the operating system, applications and APIs.
Such monitoring information may be provided by programming an application to supply it. Such an approach may be used to supply monitoring information periodically. However, programming an application in this way requires application development that is specific to each application. This increases development time and furthermore may result in updates to an application's code each time the application becomes capable of supplying additional monitoring information.
In some computer environments, the monitoring information from a variety of applications, APIs and/or a number of operating systems executing on one or more client computers may be transmitted to a third party for analysis, for example, by transmitting the data over the Internet to a server computer administered by a third party, which could be the provider of the application, API or operating system. In such an environment, all client computers may supply monitoring information, and each client computer may supply all of the monitoring information it has available.
Upon receiving monitoring information, it may be useful to allow a third party to make business decisions based on the monitoring information. For example, in determining the impact a proposed change to an existing application might have on a population of client computers executing the application, the third party may analyze monitoring information in order to decide whether or not to implement the proposed change.